home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / dpmigcc5.zip / RSX / DOC / RSX4EMX.TXT < prev   
Text File  |  1994-12-12  |  4KB  |  224 lines

  1. --------------------------------------------------------------------------------
  2. RSX4EMX.TXT        DPMI-RSX    (c) Rainer Schnitker        2/94
  3. --------------------------------------------------------------------------------
  4. (out of date ; should updated for rsx4)
  5.  
  6.  
  7. There are some diffences between EMX(under DOS) and RSX(under DPMI).
  8. Also some things are not implemented in one version.
  9.  
  10. "emx" below means EMX-0.8 under DOS, not OS/2
  11.  
  12. AX=7F00H sbrk()
  13. AX=7F01H brk()
  14.     both:
  15.     only positive values are allowed ( < EMX0.8h)
  16.     libc-malloc returns NULL, if user has called brk,sbrk
  17.  
  18. AX=7F02H ulimit()
  19.     both:
  20.     command code must be 3 ( return greatest possible break_value )
  21.  
  22. AX=7F03H vmstat()
  23.     rsx:
  24.     cannot used (EMX internal)
  25.  
  26. AX=7F04H umask1()
  27.     both:
  28.     file permission mask is not used
  29.  
  30. AX=7F05H getpid()
  31.  
  32. AX=7F06H spawnve()
  33.     both:
  34.     P_SESSION, P_DETACH cannot used.
  35.     command line is restricted to 128 characters
  36.     rsx:
  37.     all programs get the environment from father process
  38.     P_OVERLAY (RM programs) close the EMX program
  39.     emx:
  40.     real-mode programs get environment from EMX
  41.     P_OVERLAY not allowed for RM programs.
  42.  
  43. AX=7F08H ptrace()
  44.     both:
  45.     PTRACE_TRACEME, PTRACE_SESSION ignored
  46.     rsx:
  47.     FP-status not implemented yet
  48.  
  49. AX=7F09H wait()
  50.     both:
  51.     wait() returns immediately (no multitasking)
  52.     emx:
  53.     wait() is currently implemented only for processes being debugged
  54.     and for synchronous processes started with P_NOWAIT
  55.  
  56. AX=7F0AH emxversion()
  57.     rsx:
  58.     DPMI flag, 387 flag, -ac flag are always true
  59.  
  60. AX=7F0BH memavail()
  61.     rsx:
  62.     this value includes virtual memory
  63.  
  64. AX=7F0CH signal()
  65.  
  66. AX=7F0DH kill()
  67.     emx:
  68.     it does not switch processes
  69.     rsx:
  70.     kill switch programs (only to children)
  71.  
  72. AX=7F0EH raise()
  73.     emx:
  74.     core dump file will be created unless the -c emx option is used
  75.     rsx:
  76.     no core file
  77.  
  78. AX=7F0FH uflags()
  79.     rsx:
  80.     cannot used
  81.  
  82. AX=7F10H unwind()
  83.  
  84. AX=7F11H core()
  85.     rsx:
  86.     not implemented
  87.  
  88. AX=7F12H portaccess()
  89.     emx:
  90.     -ai option must be used to enable _portaccess
  91.     rsx:
  92.     DPMI-server must support a port access
  93.     option -ai ignored, _portaccess enabled
  94.  
  95. AX=7F13H memaccess()
  96.     both:
  97.     the -am option must be used to enable _memaccess
  98.     rsx:
  99.     very dangerous, DPMI-server must catch access to A0000H-BFFFFH
  100.  
  101. AX=7F14H ioctl2()
  102.  
  103. AX=7F15H alarm()  Set alarm clock
  104.     rsx:
  105.     SIGALRM will only be raised after a int 0x21
  106.  
  107. AX=7F16H emx internal
  108.  
  109. AX=7F17H sleep()
  110.  
  111. AX=7F18H chsize()
  112.  
  113. AX=7F19H fcntl()
  114.     both:
  115.     O_NDELAY is only implemented for handle 0 (keyboard)
  116.     O_GETFD and O_SETFD are not implemented under DOS
  117.  
  118. AX=7F1AH pipe()
  119.     both:
  120.     not implemented under DOS
  121.  
  122. AX=7F1BH fsync()
  123.     not implemented under DOS
  124.  
  125. AX=7F1CH fork()
  126.     emx:
  127.     not implemented under DOS
  128.     rsx:
  129.     fork() switch to child, parent stopped (like P_WAIT)
  130.  
  131. AX=7F1DH scrsize()
  132.  
  133. AX=7F1EH select()
  134.     rsx:
  135.     not implemented
  136.  
  137. AX=7F1FH syserrno()
  138.     both:
  139.     not implemented under DOS
  140.  
  141. AX=7F20H stat()
  142.     both:
  143.     only some fields are valid
  144.  
  145. AX=7F21H fstat()
  146.     both:
  147.     only some fields are valid
  148.  
  149. AX=7F23H filesys()
  150.     rsx:
  151.     only "FAT" returned
  152.  
  153. AX=7F24H utimes()
  154.  
  155. AX=7F25H ftruncate()
  156.  
  157. AX=7F26H clock()
  158.  
  159. AX=7F27H ftime()
  160.  
  161. AX=7F28H umask()
  162.  
  163. AX=7F29H getppid()
  164.  
  165. AX=7F2AH nls_memupr()
  166.     rsx:
  167.     not implemented
  168.  
  169. AX=7F2BH open()
  170.     emx:
  171.     path name must not be longer than 65531 bytes
  172.     rsx:
  173.     path name must not be longer than 5192 bytes
  174.  
  175. AX=7F2CH newthread()
  176.     both:
  177.     not implemented under DOS
  178.  
  179. AX=7F2DH endthread()
  180.     both:
  181.     not implemented under DOS
  182.  
  183. AX=7F2EH waitpid
  184.     both:
  185.     not implemented under DOS
  186.  
  187. AX=7F2FH read_kbd()
  188.  
  189. AX=7F30H sleep2()
  190.  
  191. AX=7F31H unwind2()
  192.  
  193. AX=7F32H pause()
  194.     both:
  195.     not implemented under DOS
  196.  
  197. AX=7F33H execname()
  198.     both:
  199.     not implemented under DOS
  200.  
  201.  
  202. AX=7F34H initthread()
  203.     both:
  204.     not implemented under DOS
  205.  
  206.  
  207. ---------------------------------------------------
  208.  
  209. registers at start:
  210.     emx:
  211.     CS = 10H
  212.     DS = ES = SS = FS = GS = 17H
  213.     ESP = stack, EIP = entry point
  214.  
  215.     rsx:
  216.     CS = DPMI-selector ( code segment )
  217.     DS = ES = FS = DPMI-selector = CS + 8 ( data segment )
  218.     SS = DPMI-selector = CS + 16 ( special expand-down stack segment)
  219.        CS,DS,ES,FS have the same linear base address.
  220.     GS = selector to first megabyte (DOS memory)
  221.     ESP = stack, EIP = entry point
  222.     others = 0
  223.  
  224.